<template>
  <div>
    <p class="title">推荐歌单</p>
    <van-row gutter="5">
      <van-col span="8" v-for="item in list" :key="item.id">
        <van-image width="100%" height="3rem" :src="item.picUrl" />
        <p class="song_name">{{ item.name }}</p>
      </van-col>
    </van-row>
    <p class="title">最新音乐</p>

    <van-cell
      :title="item.name"
      slot="play-circle-o"
      :label="`${item.song.artists[0].name} - ${item.name}`"
      v-for="item in newlist"
      :key="item.id"
      :clickable="true"
      @click="play(item.id)"
    >
      <router-view />
      <template #right-icon>
        <van-icon
          name="play-circle-o"
          class="play-circle-o"
          color="#333"
          size="0.75rem"
        />
      </template>
    </van-cell>
  </div>
</template>

<script>
import { recommendMusicApi, newMusicApi } from '@/api'

export default {
  data() {
    return {
      // 图片，文字列表
      list: [],
      // 歌曲推荐列表
      newlist: [],
    }
  },
  methods: {
    // 播放按钮
    play(id) {
      // 将ID传给Play组件，
      this.$router.push({
        path: '/Layout/Play',
        query: {
          id,
        },
      })
    },
  },
  created() {
    // 请求数据，请求是数据组件是先从
    recommendMusicApi({
      limit: 6,
    }).then((res) => {
      this.list = res.data.result
    })
    // 音乐列表
    newMusicApi({
      limit: 20,
    }).then((res) => {
      this.newlist = res.data.result
    })
  },
}
</script>

<style scoped>
/* 标题 */
.title {
  padding: 0.266667rem 0.24rem;
  margin: 0 0 0.24rem 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
}
/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 0.346667rem;
  padding: 0 0.08rem;
  margin-bottom: 0.266667rem;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box; /* 对象作为伸缩盒子模型显示 */
  -webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2; /** 显示的行数 **/
  overflow: hidden; /** 隐藏超出的内容 **/
}
.van-cell {
  border-bottom: 1px solid lightgray;
}
</style>
